package ar.com.seminario.dao;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;

import ar.com.seminario.common.persistence.dao.GenericDao;
import ar.com.seminario.model.Candidato;
import ar.com.seminario.model.Perfil;

/**
 * Clase de acceso a datos para la entidad {@link Candidato}.
 * 
 * @author Dario Camarro
 * 
 */

public class CandidatoDao extends GenericDao<Candidato, Long> {
	
	@SuppressWarnings("unchecked")
	public List<Candidato> getCandidatoPorNombre(String nombre) {
		
		final Criteria criteria = this.getSession().createCriteria(Candidato.class);
		criteria.add(Restrictions.like("nombre",nombre));
		return criteria.list();
		
	}

	public Candidato getCandidatoPorId(Long idCandidato) {
		
		final Criteria criteria = this.getSession().createCriteria(Candidato.class);
		criteria.add(Restrictions.like("id",idCandidato));
		return (Candidato) criteria.uniqueResult();
	}

	public Candidato getCandidatoPorPerfil(Perfil perfil) {
		final Criteria criteria = this.getSession().createCriteria(Candidato.class);
		criteria.add(Restrictions.eq("perfil",perfil));
		return (Candidato) criteria.uniqueResult();
	}
	
}
